{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf250
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fswiss\fcharset0 ArialMT;\f2\fnil\fcharset0 LucidaGrande;
}
{\colortbl;\red255\green255\blue255;}
{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid1}
{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid2}
{\list\listtemplateid3\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid3}
{\list\listtemplateid4\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid4}
{\list\listtemplateid5\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid401\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid5}
{\list\listtemplateid6\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid501\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid6}
{\list\listtemplateid7\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid601\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid7}
{\list\listtemplateid8\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid701\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid8}
{\list\listtemplateid9\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid801\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid9}
{\list\listtemplateid10\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid901\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listname ;}\listid10}}
{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}{\listoverride\listid5\listoverridecount0\ls5}{\listoverride\listid6\listoverridecount0\ls6}{\listoverride\listid7\listoverridecount0\ls7}{\listoverride\listid8\listoverridecount0\ls8}{\listoverride\listid9\listoverridecount0\ls9}{\listoverride\listid10\listoverridecount0\ls10}}
\paperw12240\paperh15840\vieww13080\viewh8280\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\f0\b\fs24 \cf0 Version 2.2.3\

\b0 Released March 7, 2010\
\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls1\ilvl0\cf0 {\listtext	\'95	}
\b Added -all_load to libjsontests linker flags.\uc0\u8232 
\b0 This allows the tests to run with more recent versions of GCC.\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls2\ilvl0
\b \cf0 {\listtext	\'95	}Unable to do a JSONRepresentation for a first-level proxy object.\uc0\u8232 
\b0 Allow the -proxyForJson method to be called for first-level proxy objects, in addition to objects that are embedded in other objects. Reported in issues {\field{\*\fldinst{HYPERLINK "http://code.google.com/p/json-framework/issues/detail?id=54&can=1"}}{\fldrslt 54}} & {\field{\*\fldinst{HYPERLINK "http://code.google.com/p/json-framework/issues/detail?id=60"}}{\fldrslt 60}}.
\b \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
Version 2.2.2\

\b0 Released September 12, 2009.\

\b \
\pard\tx220\tx720\pardeftab720\li720\fi-720\ql\qnatural
\ls3\ilvl0
\f1\b0\fs26 \cf0 {\listtext	\'95	}
\b Fixed error-reporting logic in category methods.
\f2\b0 \uc0\u8232 
\f1 Reported by Mike Monaco.\
\pard\tx220\tx720\pardeftab720\li720\fi-720\ql\qnatural
\ls3\ilvl0
\f0\b\fs24 \cf0 {\listtext	\'95	}iPhone SDK built against iPhoneOS 3.0.\uc0\u8232 
\b0 This has been updated from 2.2.1.
\b \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
Version 2.2.1\

\b0 Released August 1st, 2009.
\b \
\
\pard\tx220\tx720\pardeftab720\li720\fi-720\ql\qnatural
\ls4\ilvl0
\f1\b0\fs26 \cf0 {\listtext	\'95	}
\b Added svn:ignore property to build directory.
\f2\b0 \uc0\u8232 
\f1 Requested by Rony Kubat.\
{\listtext	\'95	}
\b Fixed potential corruption in category methods.
\f2\b0 \uc0\u8232 
\f1 If category methods were used in multiple threads they could potentially cause a crash. Reported by dprotaso / Relium.
\f0\b\fs24 \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
Version 2.2\

\b0 Released June 6th, 2009.
\b \
\

\b0 No changes since 2.2beta1.
\b \
\
Version 2.2beta1\

\b0 Released May 30th, 2009.
\b \

\b0 \
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls5\ilvl0
\b \cf0 {\listtext	\'95	}Renamed method for custom object support
\b0 \uc0\u8232 Renamed the -jsonRepresentationProxy method to -proxyForJson.
\b \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
Version 2.2alpha5\

\b0 Released May 25th, 2009.\
\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls6\ilvl0
\b \cf0 {\listtext	\'95	}Added support for custom objects (generation only)
\b0 \uc0\u8232 Added an optional -jsonRepresentationProxy method that you can implement (either directly or as category) to enable JSON.framework to create a JSON representation of any object type. See the Tests/ProxyTest.m file for more information on how this works.
\b \
{\listtext	\'95	}Moved maxDepth to SBJsonBase
\b0 \uc0\u8232 Throw errors when the input is nested too deep for writing json as well as parsing. This allows us to exit cleanly rather than break the stack if someone accidentally creates a recursive structure.
\b \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
Version 2.2alpha4\

\b0 Released May 21st, 2009.\
\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls7\ilvl0
\b \cf0 {\listtext	\'95	}Renamed protocols and moved method declarations\uc0\u8232 
\b0 Renamed SBJsonWriterOptions and SBJsonParserOptions protocols to be the same as their primary implementations and moved their one public method there.\
{\listtext	\'95	}
\b Implemented proxy methods in SBJSON\uc0\u8232 
\b0 This facade now implements the same methods as the SBJsonWriter and SBJsonParser objects, and simply forwards to them.\
\ls7\ilvl0
\b {\listtext	\'95	}Extracted private methods to private protocol\uc0\u8232 
\b0 Don't use these please.\
\ls7\ilvl0
\b {\listtext	\'95	}Improved documentation generation\uc0\u8232 
\b0 Classes now inherit documentation from their superclasses and protocols they implement.
\b \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
Version 2.2alpha3
\b0 \
Released May 16th, 2009.\
\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls8\ilvl0
\b \cf0 {\listtext	\'95	}Reintroduced the iPhone Custom SDK\uc0\u8232 
\b0 For the benefit of users who prefer not to copy the JSON source files into their project. Also updated it to be based on iPhoneOS v2.2.1.\
\ls8\ilvl0
\b {\listtext	\'95	}Deprecated methods for dealing with fragments
\b0 \uc0\u8232 Tweaked the new interface classes to support the old fragment-methods one more version.
\b \
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
Version 2.2alpha2
\b0 \
Released May 11th, 2009.\
\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls9\ilvl0\cf0 {\listtext	\'95	}
\b Added a Changes file.
\b0 \uc0\u8232 So people can see what the changes are for each version without having to go to the project home page.\
{\listtext	\'95	}
\b Updated Credits.
\b0 \uc0\u8232 Some people that have provided patches (or other valuable contributions) had been left out. I've done my best to add those in. (If you feel that you or someone else are still missing, please let me know.)\
{\listtext	\'95	}
\b Removed .svn folders from distribution.\uc0\u8232 
\b0 The JSON source folder had a .svn folder in it, which could have caused problems when dragging it into your project.\
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural

\b \cf0 \
Version 2.2alpha1
\b0 \
Released May 10th, 2009.\
\
\pard\tx220\tx720\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\li720\fi-720\ql\qnatural\pardirnatural
\ls10\ilvl0\cf0 {\listtext	\'95	}
\b Improved installation instructions, particularly for the iPhone.\uc0\u8232 
\b0 Getting the SDK to work properly in all configurations has proved to be a headache. Therefore the SDK has been removed in favour of instructions for simply copying the source files into your project.\
{\listtext	\'95	}
\b Split the SBJSON class into a writer and parser class.\uc0\u8232 
\b0 SBJSON remains as a facade for backwards compatibility. This refactoring also quashed warnings reported by the Clang static analyser.\
{\listtext	\'95	}
\b Improved interface for dealing with errors.\uc0\u8232 
\b0 Rather than having to pass in a pointer to an NSError object, you can now simply call a method to get the error stack back if there was an error. (The NSError-based API remains in the SBJSON facade, but is not present in the new classes.)\
{\listtext	\'95	}
\b Documentation updates.\uc0\u8232 
\b0 Minor updates to the documentation.\
\pard\tx560\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
\cf0 \
Release notes for earlier releases can be found here:\
{\field{\*\fldinst{HYPERLINK "http://code.google.com/p/json-framework/wiki/ReleaseNotes"}}{\fldrslt http://code.google.com/p/json-framework/wiki/ReleaseNotes}}}